home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Camelot / Camelot 004 (1987)(Swedish User Group of Amiga)(SE)(PD)[m doscopy][WB].zip / Camelot 004 (1987)(Swedish User Group of Amiga)(SE)(PD)[m doscopy][WB].adf / betatechnotes < prev    next >
Text File  |  1986-04-25  |  37KB  |  982 lines

  1. Changesto the ROM Kernel Manual for the 1.2 Release
  2.  
  3.  
  4. These notes have been assembled from a number of Alpha release
  5. documents.  You will find more than one mention of many features
  6. and descriptions of problems that are later solved.
  7.  
  8. DOS
  9.  
  10.  
  11. muchimproved dos, and some new commands.
  12.   look for 'addbuffers dfx: nn'
  13.    which will add nn buffers to the list of sector caches for drive 
  14. x.
  15.   Smarter caching and new disk layout. For optimal performance; relay
  16.   out your disk by using copy all. Details of CLI commands below.
  17.   Improvements include 
  18.    New mode for opening files - MODE_READWRITE which opens an old 
  19. file
  20.   with an exclusive lock. (The actual value is 1004). Provided the
  21.   name MODE_READONLY as a synonym for MODE_OLDFILE. Look for new      
  22.   dos.h. Requestors asking for a disk to be inserted are now only     
  23.    displayed once the light on the disk has been turned off; thus 
  24. not 
  25.   encouraging users to damage their disks so much.
  26.   CON: and RAW: parameter values are now not checked by dos; they
  27.   will be checked by intuition eventually but as of now they are
  28.   not checked at all.
  29.   Improved handling of sector allocation bitmap; should be fast for
  30.   hard disks.
  31.  
  32.  
  33.  
  34.   RAM:                   handles parent(); allows null file name;
  35.                          seek in empty file not now an error;
  36.                          faster transfer rate; better out of memory
  37.                          handling
  38.  
  39. Theramdisk released is about 30% faster than the 1.1 ram
  40. disk.
  41.  
  42. ramdisk:now has an icon. It will appear whenever the ram disk
  43. isbuilt. It is built whenever you touch ram disk with a dir,
  44. orcopy something into it. You can't get rid of the icon though,
  45. althoughyou can get rid of all the contents of the ramdisk.
  46.  
  47.  
  48. Emacs
  49.  
  50.  
  51. emacsfixed, now can use new rawinput code.
  52.  
  53. alphaversion of emacs.  It supports 50 rows of interlaced stuff now. 
  54. supportsthe mouse
  55.  
  56. noteon emacs, the commodore-amiga supplied emacs is part of the
  57. softwaretoolkit. It has been heavily enhanced and is not public
  58. domain.
  59.  
  60. emacs documentation included on the Software Toolkit disk. Remember 
  61. this emacs is not a public domain emacs. Andy spent a lot of time 
  62. adding all kinds of goodies to make it easy to use on the amiga. It 
  63. is currently planned to be distributed to all who get the developers 
  64. toolkit.
  65.  
  66.  
  67. Exec
  68.  
  69.  
  70.         expansion architecture now in kickstart!
  71.         Big side affect is that many system data structures should   
  72.          now appear in fast memory if it is available. This is true 
  73. of
  74.         SysBase and GfxBase. So beware!
  75.         Bug fix, exec now correctly sets AFB_68881 in AttnFlags
  76.          For the next Beta release, there may be a new                           
  77. function/libraryor something for you
  78.         68881 programmers. This would allow you to set up the         
  79.         multitasking properly via tc_Switch,tc_Launch in exec. No     
  80.          more multitasking problems with 68020/68881 combinations 
  81. (RSN)
  82.  
  83. Wehave partial 68881 support.
  84.  
  85. Moderatechanges to exec.  Two feature areas: we now have support
  86. forfinding code modules in ram at system bring up time (this lets
  87. us ignore or add to modules in ROM) This new exec has a fully working 
  88. "romtagsin ram" facility.  This
  89. willallow one to override individual modules in kickstart.  In
  90. addition,new modules may be added to the system.
  91.  
  92. Inaddition several bugs were fixed.  AllocAbs() was rewritten from
  93. scratchto make it work.  The exec library structure was not properly
  94. kept-- LIB_POSSIZE and LIB_NEGSIZE were incorrect.  In addition exec
  95. usedto write over the top of legal memory on system boot.
  96.  
  97. includedseperate file, the latest exec.doc
  98. Exechas new functions to deal with SignalSemaphore's.
  99.  
  100. Thereis one open design issue on this stuff.  Because this "romtags
  101. inram" is ram-based, there is a possibility of trashing the list
  102. dueto an errant program.  Currently the "directory" information
  103. forthe ramtags is checksummed, but not the actual code and data.
  104. Thismakes it possible to link in normal C code.  However, it
  105. meansthat a program can be trashed and your system will infinitely
  106. loop,until the machine is powered off.
  107. Apossible solution is to checksum the code as well as the directory
  108. information.  However, this means that only "clean" code may be used 
  109. --
  110. e.g.code that is capable of being burned into ROM (even though it
  111. isin ram).
  112.  
  113. Newfunctions:  AddMemList()   adds memory to the system
  114.                 InitSemaphore(), ObtainSemaphore()  for signal                           
  115. semaphores
  116.                CopyMem()   fast, safe memory mover
  117.                SunKickData()
  118.  
  119. Formore information, see the autodocs.
  120.  
  121. Finally,of interest only for those of us who write exec code, exec
  122. willignore the old execbase if the version or revision of exec
  123. haschanged.
  124.  
  125.  
  126. Graphics/Layers
  127.  
  128.  
  129. fixedscrolllayer, it wasn't recomputing the cliprects used to draw
  130. intothe superbitmap when scrolllayer called.
  131.  
  132. XorRectRegionnow works. But removed, ran out of space on kickstart.
  133. NotRegionremoved from graphics. It never did anything useful anyway
  134. exceptblow up if you called it with correct parameters. You can
  135. emulatedifferent forms of what you think NotRegion was supposed to
  136. dowith XorRectRegion.
  137.  
  138. Changesto support different standard screen sizes.
  139. Programmersshould get the NormalDisplayHeight of a screen from
  140. GfxBase->NormalDisplayHeight.For NTSC this is currently set
  141. to200 at power up and to 256 for PAL at power up. It is
  142. intendedthat user preferences can make additional changes
  143. tothese variables. Support for overscan displays is still
  144. beingworked on. Tentatively there are also some new values
  145. inGfxBase for max viewport height/width.
  146.  
  147. NTSCsoftware on PAL machine. Screens of 200 lines on a PAL
  148. displayof 256 will appear at the position requested.
  149. Screensare no longer bound to the bottom of the Display, they
  150. maybe moved freely around. However there is no data displayed
  151. belowthe topmost screen.(This was true in the previous release).
  152. Usageof the NTSC/PAL bits in GfxBase are discouraged however
  153. thosebits will be set correctly based on 262/312 lines per frame. 
  154.  
  155. Includedwith this document are copies of any changed graphics
  156. includefile plus sample program dotty.c These will also be provided
  157. ona separate disk. Dotty.c can be expanded to use 256 line display.
  158. Thereis a copy of the new trackdisk driver documentation.
  159. Thereis a copy of the source for the animated pointer that Jim had
  160. atthe UK Amiga conference. It demonstrates several basic and
  161. advancedIntuition programming techniques, including pointer animation.
  162.  
  163.  
  164.  
  165.   fixed d7 trashing in Text()
  166.   improved speed of Text()  9%-50% faster (1char-64char) strings
  167.   tad downcoded floodfill (about 1% faster) big deal. its a start.
  168.   fixed bug in color routines that try to make the top overscan color
  169.   be the same as the topmost viewport's color.  It know lets the      
  170.   bottom color wrap around if the topmost viewport has no colormap.   
  171.   Like ea's Dpaint program.
  172.  
  173.  
  174. fixedscrolllayer, it wasn't recomputing the cliprects used to draw
  175. intothe superbitmap when scrolllayer called.
  176. XorRectRegionnow works. But removed, ran out of space on kickstart.
  177. NotRegionremoved from graphics. It never did anything useful anyway
  178. exceptblow up if you called it with correct parameters. You can
  179. emulatedifferent forms of what you think NotRegion was supposed to
  180. dowith XorRectRegion.
  181.  
  182.   better handling of SimpleRefreshLayer when moving layers.
  183.   CreateUpfront(BehindLayer) fixed. It now creates
  184.   the layer on top of all other backdrop layers as it
  185.   should.
  186.   XorRectRegion really installed for good now.
  187.   Bug fix in WritePixel, it wasn't waiting for the blitter
  188.   to complete between each of the blits. Consequently it is
  189.   a little slower now.
  190.  
  191.    some minor upgrades to gel code, streamlining, cost reduction.
  192.    faster, quicker for less.
  193.         
  194.         bug fix, ScrollRaster now correctly uses WriteMask when      
  195.         clearing out the vacated area.
  196.          Gel code, faster, tighter. Expect about a 15% improvement 
  197. in
  198.         speed.
  199.         New graphics functions:
  200.         AndRegionRegion,XorRegionRegion,ClearRectRegion. See the     
  201.         graphics.doc
  202.         Sprite movement now restricted to not go above hardware      
  203.         limitations.
  204.         This means that the absolute starting position of a Sprite   
  205.          must not occur before line 20.
  206.  
  207.         gfxbase.h change see the include file
  208.         mainly: name change from DPI->DPM   The meaning
  209.         to ascribe to this value is DotsPerMeterX/Y. Use these
  210.         values to calculate display aspect ratio.  These numbers
  211.         will be different between NTSC and PAL.
  212.         faster flood fill, should be about twice as fast.
  213.  
  214. layers:
  215.   fix of sizelayer/movelayer with superbitmap window. It would trash
  216.   the bits if the scroll position was other than 0,0.
  217.    this was actually fixed in alpha-3, did I already mention it?   
  218. New
  219. routineSetRGB4CM(cm,i,r,g,b)
  220.    similar to SetRGB4() except this routine takes a ColorMap
  221.    as a parameter instead of ViewPort.
  222.   Due to consistent prodding from glenn at EA, I've finally fixed
  223.    the FreeSprite() bug, it failed to turn the sprite off normally.
  224.    See, you guys out there can make a difference.
  225. Note:to you guys that assume you can just play around with the
  226.    ColorTable ptr in ColorMap, What happens if I go to a 5bit
  227.    per color colormap. Have you just screwed yourself into a corner?
  228.  
  229.    I know, maybe I should have gone to 8 bits per gun right away.
  230.    We live and learn.
  231.  
  232. new"ed" fixed bug when run in an interlaced workbench screen.
  233.    increased buffer again for PAL interlaced displays, boy you
  234.    guys just want everything!
  235.  
  236.    fixed AreaEnd, it now returns 0 if no error occured.
  237.    fixed top overscan color to match top viewport as long as
  238.    it has a colormap. (Pay attention you cheaters).
  239.    Slightly retouched fonts. Two new Functions:
  240.    DrawCircle, DrawEllipse. The autodocs are in this directory.
  241.  
  242. graphicsadded AreaEllipse,AreaCircle
  243. Theinterface to Circle and Ellipse had to be changed.
  244. Circleis now just a macro that uses Ellipse.
  245. Ellipseno longer takes a rectangle but takes a center and
  246. 2radii.
  247. Fixed MoveSprite to position sprite correctly instead of off by 1 
  248. inx.
  249. Copperlist generation addition. If interlaced view, and interrupts
  250. goaway for some reason, the copperlists will ping pong back
  251. andforth themselves.
  252. MrgCopnow about 20% faster. Hope that helps. Depends on instruction
  253. mix
  254. andnumber of actual copper lists involved.
  255.  
  256.  
  257. Housekeeping
  258.  
  259.  
  260. This release of kickstart will have library version number 33. Use 
  261. this
  262. version
  263.  
  264.  
  265. Intuition
  266.  
  267.  
  268. Enhancementsto Intuition for Release 1.2:  An Outline
  269. JimMackraz
  270.  
  271. Here,in extremely terse form, is an 'outline' of the enhancements
  272. ofIntuition from version 1.1 to 1.2.  Be sure to see AutoDoc function
  273. headers,release notes, and intuition.h for details, as appropriate.
  274.  
  275. Outlinecomposed on Flow(tm) by New Horizons Software.
  276.  
  277. Screens
  278.    ScreenHeight extended conditionally for PAL,
  279.     values gotten from GfxBase
  280.    NewScreen.Height no longer clipped
  281.    Screens no longer frozen to display bottom
  282.    GetScreenData() provided to obtain Screen field values for system
  283.    screen NewScreen Flags
  284.        STDSCREENHEIGHT for NewScreen.Height gets values from 
  285.        SCREENBEHIND -- screen is created behind other screens
  286.        SCREENQUIET -- screen title bar/gadgets will not be rendered
  287.        (but YOU must catch the Menus)
  288.        DUALPF don't set this NewScreen.ViewModes, get example program
  289.  
  290. Windows
  291.    ActivateWindow()
  292.    Borders 
  293.         not excessively rendered when window activated
  294.           or title changed
  295.         refreshed after layer damage through damage list              
  296.          (Begin/EndRefresh)
  297.         title bar (drag gadget) rendering changed for
  298.           improvement on interlaced screens
  299.    Size ranges are checked on open (max only)
  300.    MaxWidth and MaxHeight unsigned, use ~0 for largest
  301.    RMBTRAP may be set by user, just Forbid()/Permit()
  302.    RefreshWindowFrame()
  303.  
  304. Gadgets
  305.    general
  306.         ActivateGadget() -- see string gadget subsection
  307.          GList functions -- apply to a given number (1 thru 'all') 
  308. of
  309.          gadgets
  310.             AddGList()
  311.             RemoveGList()
  312.             RefreshGList()
  313.          User Screen Gadgets don't exist, never did
  314.          TOPBORDER and other border gadget flags now required as
  315.           spec'd!
  316.  
  317.    string
  318.         ActivateGadget() provided to activate a string gadget
  319.         cursor position may be selected by mouse
  320.         sg's deselect if user presses Menu mouse button
  321.         RELWIDTH works (test)
  322.         unprintable characters suppressed
  323.         ^H serves as backspace
  324.         (open bug: integer gadgets don't edit correctly)
  325.  
  326.    prop
  327.         ModifyProp() only refreshes one gadget
  328.         container clicking is by body amount (if possible)
  329.          decoupled from resolution of the image on the screen
  330.         body size = 1 will click the pots but not the visuals
  331.          if you use this, you must provide some feedback to the user
  332.         can be used in requesters
  333.         examples of setting body and pots for scroll gadgets to be    
  334.          provided
  335.  
  336.    bool
  337.          masked gadgets -- selected and highlighted through a bit 
  338. mask
  339.             set BOOLEXTEND in gadget flags
  340.             set address of BoolInfo in SpecialInfo
  341.         MUTUALEXCLUDE not provided, can be done by user (example)
  342.  
  343. Menus
  344.    MENUTOGGLE item flag now re-implemented
  345.  
  346. Requesters
  347.    New Flags
  348.         POINTREL -- Double-Menu requester comes up under mouse
  349.         NOISYREQ -- you will hear input when this requester is active
  350.    System Requests (AutoRequest())
  351.         cancel from keyboard (leftA-V and -B)
  352.         screen is popped to front
  353.    User Rendering
  354.         layer is Request.ReqLayer
  355.         layer is SMART, but damaged if window sizing clips it
  356.         rastport is Request.ReqLayer->RastPort (or something)
  357.    REQSET and ENDREQ IDCMP now come for each request posted or removed
  358.  
  359. Lockingand Rentrancy
  360.    Multi-tasking access of Intuition data structures now arbitrated
  361.     by use of exec SignalSemaphores
  362.    RastPort cloning -- your screen rastport no longer used,
  363.      rather copied, for Intuition's rendering of gadgets, titles, 
  364. etc.
  365.    Un/LockIBase() -- for access to IntuitionBase
  366.  
  367. IDCMP
  368.    Verify Functions
  369.         MENUVERIFY
  370.              you always get some notification that
  371.              menu operation has finished, even for commkey operation
  372.         safety
  373.              user must still turn off verify IDCMPFlags when
  374.              calling AutoRequest() (or dos) but
  375.             modifyIDCMP() now always safe
  376.             CloseWindow(), On/OffMenu(), Set/ClearMenuStrip() safe
  377.    VANILLAKEY not enhanced (for compatibility),
  378.         suggest RAWKEY and console.device/RawKeyConvert()
  379.         Please make ^H synonymous with backspace
  380.    REQSET and REQCLEAR now sent for every Requester begun/ended
  381.  
  382. Preferences
  383.    Serial
  384.    LaceWB
  385.  
  386. Miscellaneous
  387.    InstallClipRegion(), a layers function, supported
  388.    Pointer sprite no longer has error of one low-res pixel (!)
  389.  
  390.  
  391.  
  392. Intutionnotes:
  393.  
  394. newintuition.h definition
  395. #defineSTDSCREENHEIGHT    -1
  396.  
  397. Includedwith this document are copies of any changed graphics
  398. includefile plus sample program dotty.c These will also be provided
  399. ona separate disk. Dotty.c can be expanded to use 256 line display.
  400. Thereis a copy of the new trackdisk driver documentation.
  401. Thereis a copy of the source for the animated pointer that Jim had
  402. atthe UK Amiga conference. It demonstrates several basic and
  403. advancedIntuition programming techniques, including pointer animation.
  404.  
  405.  
  406. This is the first release with an intuition that jim ripped apart 
  407. and
  408. isstill in the process of putting back together. It is included
  409. instead
  410. ofthe older more stable version because it represents the real future
  411. offurther distributions. It significantly uses the new semaphore
  412. technology.Work is also being done on fine tuning the seemingly
  413. redundantrefreshing of the gadgets. Note the cleaner open windows.
  414. Someitems that are still being worked on: the Titles of windows
  415. andthe menu bar get a little trashy. Intuition is starting to using
  416. theclipping of the layer library to avoid flashing the gadgets
  417. needlessly.
  418.  
  419. Otheritems:
  420. fromjimm (Jim Mackraz) on intuition
  421.    Intuition 124
  422.  
  423.    -screen personal rastport now cloned, not corrupted, for intuition
  424.      rendering including gadgets, borders, titles, drag/size frame, 
  425. ...
  426.     should solve gadget crashes (while windows are opening, gadgets
  427.     refreshing, etc.)
  428.    -more locking refinements (not perfect yet)
  429.    -screen may be created behind other screens (see flag in
  430. intuition.h)
  431.    -screen gadgets may be specified as invisible (see flag in
  432. intuition.h)
  433.    -border updates visually improved: rendered through damage list,
  434.     only the title and dragbar are redrawn when window made active.
  435.     (known bug: title can overwrite depth gadgets)
  436.    -border area added to damage list for smart refresh windows, fixes
  437.     major bug.  updating of border areas still needs refinement.
  438.    -clean up and compaction (in some areas)
  439.     -pressing menu key with active string gadget deactivates gadget 
  440. and
  441.     proceeds with menu processing (more like select button now).
  442.  
  443. newintuition.h included on disk
  444.  
  445. Thereis a copy of the source for the animated pointer that Jim had
  446. atthe UK Amiga conference. It demonstrates several basic and
  447. advancedIntuition programming techniques, including pointer animation.
  448.  
  449. alpha-4release of kickstart 1.2
  450. comments:
  451. strap:
  452.       did not remove the open of intuition in strap, sorry fella's
  453.    I'll shoot for alpha-5
  454.  
  455. intuition:
  456.   jimm has got a bunch of bug fixin going on here:
  457.        Intuition 161
  458.  
  459.        Size: 54348 bytes (increase 348)
  460.  
  461.        more improvement to window border refreshing
  462.  
  463.        fix bug: gimmezerozero and backdrop didn't work together
  464.            (confusion from CreateUpfrontLayer())
  465.         
  466.        OpenWindow() does position/dimension checking (max's only)
  467.  
  468.        incorporated serial preferenes into intuition.h, intuition.i
  469.  
  470.        fixed bug where GetPrefs might copy data in areas beyond
  471.        the limit of the buffer the callers provides.
  472.  
  473.        known change in side-effects Boing! has depended on (probably
  474.        not new with this particular release).
  475.  
  476.        Plan is to fix the above using new function RefreshOneGadget(),
  477.        (actually, something more like RefreshNGadgets()) which, along
  478.        with AddGList(), represents the most asked for gadget          
  479.        enhancements.)
  480.  
  481.        stay tuned
  482.  
  483. intuitionchanges:
  484.        Intuition 183 -- diagonal draggers
  485.  
  486.        New user functions:
  487.            RefreshGList (J0002)
  488.            AddGList    (K0025)
  489.            RemoveGList (K0025)         (needs testing)
  490.            ActivateWindow (J0010)      (needs testing)
  491.            RefreshWindowFrame (for rj) (needs testing)
  492.        see autodocs attached below
  493.  
  494.        fixed top border gadets, including depth gadgets being         
  495.        overwritten, user top border gadgets work better (J0019)
  496.  
  497.        experiment with drag gadget rendering (will try again)
  498.  
  499.        pointer reset in closewindow, safer (J0013)
  500.  
  501.        modifyIDCMP restores from NULL safely (K0142)
  502.  
  503.        drawImageGrunt safe when out of memory now (J0018)
  504.  
  505.        Enhancement request for keyboard movement of mouse (E1907)
  506.        moved to "Wait" list
  507.  
  508.         Changes to menu short-cut key handling.  These are so that 
  509. if
  510.        MENUVERIFY is in effect, applications always know when the
  511.        menu handling period is over.
  512.  
  513.            when menuverify is in effect, and canceled, users
  514.                now get a message: menupick (MENUNULL) 
  515.            when the key corresponds to a disabled item, users
  516.                now get a message: menupick (MENUNULL) (B2360)
  517.  
  518.        note that if the user cancels menuverify when the mouse menu
  519.        button is pressed, application hears a MOUSEBUTTONS:MENUUP     
  520.        message
  521.  
  522.        Furthermore: menu shortcuts are prevented when normal menu     
  523.        operations are in progress, and when requesters are up (the    
  524.        latter was reported
  525.        as a bug, but was in place and working fine.) (B2295)
  526.  
  527.        Internal:
  528.        removed unused parameters from drawWGadgets
  529.            windows.c gadgets.c
  530.        consolidated linked list handling; more to come
  531.  
  532. intuition195:
  533.   fixed the propgadget in GZZ window bug
  534.    Container clicking at bottom of G00 border propgadgets works now
  535.    (un-listed bug?)
  536.    Alerts now push down interlaced screens correctly.
  537.    ReportMouse() no longer crashes (was error in asm to C interface).
  538.    DELTAMOUSE IDCMP now works
  539.  
  540. intuition:
  541.  
  542.    Intuition 215
  543.  
  544.    NEWPREFS IDCMP works, for the first time ever.
  545.    It turns out that you would only get the NEWPREFS IDCMP message
  546.    if your idcmp flags contained at least one of: NEWSIZE,            
  547.    REFRESHWINDOWS, or MOUSEBUTTONS.  Note that you would still receive
  548.    the proper NEWPREFS message class.
  549.  
  550.    SELECTED gadget flag set when window/screen draggers are in use.
  551.  
  552.    Trying some more drag bar rendering, this time the bars are a      
  553.    little thicker, and there is some space following the title
  554.  
  555.    OnMenu() and OffMenu() would crash trying to redraw a currently
  556.    displayed menu element in Notepad.  Now they block until user
  557.    finishes with menu.
  558.  
  559.    Sizing, dragging, and menu use while windows are opened/closed,
  560.    no longer deadlocks, poof.
  561.  
  562.    not compiling with speed optimizer, saves many bytes
  563.  
  564.    more general linked list handling
  565.  
  566.    routines dealing with viewports all changed around to set          
  567.    View.Modes correctly at the correct time.  visible and hidden      
  568.    interlaced screens now effect the display correctly. (K0121)
  569.  
  570.    It is verified that Intuition will handle a linked list of events,
  571.     providing it is no more than 10 in length,  enhancement to this 
  572. is
  573.    on the list.  This is not true if a string gadget is active, in    
  574.    which case all but the last event (or two) is discarded.
  575.    Barry has determined that repeated WRITEEVENTS to the input device
  576.    are the best way to fool intuition.
  577.  
  578.    It was determined that string gadgets and GRELWIDTH do not work    
  579.     together; changing this would require major surgery.  moved to 
  580. the
  581.    Wait list.
  582.  
  583.    Bug B2199 where too many CLI's crashes the machine not reproducible
  584.    by JonF
  585.  
  586.    Bug B2214, string gadgets with small buffers cannot be reproduced  
  587.    by Barry
  588.  
  589. intuition290:
  590.    ModifyProp only refreshes one gadget
  591.    On/OffGadget only refreshes one gadget
  592.    locking improved: very near to betting that it can't be
  593.    deadlocked.
  594.    proportional gadgets, especially those with small body field,
  595.    now click according to your body settings, and are not dependent
  596.    on the resolution of the rendering.  very specific formulas for
  597.    using propgadgets now apply, and will follow.
  598.    propgadgets in the various gimmezerozero and requester layer 
  599.    environments now container click correctly.
  600.    steps have been taken to handle low-memory especially in menus,
  601.    and TmpRas' have been set up to help text, but sufficiently tough
  602.    memory situations crash in text/graphics.
  603.    dale fixed the wild pointer bug.  off my list.
  604.    fonts supplied to OpenScreen are checked for success in opening.
  605.    failure will cause the current system default font to be used.
  606.    finally put interface to RefreshGList, AddGList, RemoveGList,
  607.    ActivateWindow, and RefreshWindowFrame into amiga.lib
  608.  
  609. intuition300/301:
  610.    doesn't trim DHeight for front screen.
  611.    duplicate mouse-move events eliminated for RMBTRAP users
  612.    windows which don't come up active don't block behind lock
  613.    held when string/prop gadgets are active
  614.    all relative gadgets entered into damage list when window sized.
  615.    put requesters in smart layers so user-rendering is
  616.    preserved.
  617.  
  618.    intuition:
  619.    gadgets week.
  620.    unified gadgetRelatvity calculations: no more weird proportional
  621.    gadget rendering, gadgets locking and rendering calculations done
  622.    all in one place.  saved 1400 bytes, for a while anyway.
  623.    hitting gadgets (Select mouse button) more sane: only checks
  624.    correct layer, smarter for requesters in layers now.
  625.    string gadgets:
  626.    -bug with long gadgets centered in select box shorter than max
  627.     string length fixed.
  628.    -new feature: click in string gadget puts cursor at click location.
  629.    -control-H serves as backspace
  630.    -cursor doesn't flash when you push shift, control keys, etc.
  631.     and doesn't flash on upstrokes.
  632.    -note: centered string gadgets of buffer length 1 (plus one for    
  633.     null) still don't work (from 1.1).  i don't know WHAT is going 
  634. on.
  635.    changed the Workbench Screen default title back to official name
  636.    fixed memory leakage problem in intuition that appeared in a-9.
  637.    there is now a minimum limit to the rendering of
  638.    an AUTOKNOB, per the manual, but different from 1.1.
  639.    am postponing final decision.
  640.  
  641. intuition378:
  642.    === NOTE: the items below haven't been thoroughly tested ==
  643.    New function ActivateGadget() activates a string gadget,
  644.    god-willing.
  645.  
  646.    POINTREL requesters now implemented (can have double-mouse
  647.    requesters come up at or near cursor position).
  648.    ===========================================================
  649.  
  650.    Implemented NOISYREQ option for requesters.  If NOISYREQ flag
  651.    is set, requester being active won't filter normal input--in
  652.    particular, keystrokes.
  653.  
  654.    Used above to implement keyboard equivalents for Cancel and Retry
  655.    gadgets in system requesters (AutoRequests).  Today, these keys
  656.    are leftA-V and leftA-B, subject to change.
  657.  
  658.    damage list problems were in layers: fixed by dale.
  659.  
  660.    Now do WaitBlit() before freeing bitmaps in CloseScreen()
  661.    and after menus are erased (dale's recommendation).  This
  662.    fixed Emacs, and god-only-knows what else.  This could be a big
  663.    one; thanks dale.
  664.  
  665.    caught failing error handling path in requesters.  thanks, sam.
  666.  
  667.    unified double mouse requesters and normal, user scheduled         
  668.    requesters
  669.  
  670.    Intuition 417
  671.  
  672.    AutoDocs all fixed up.
  673.  
  674.    String Gadget fixes:
  675.          single-character centered string gadgets had about 3 bugs 
  676. in
  677.        them:   finally fixed after at least 8 hours work.  incredible.
  678.  
  679.      RELWIDTH string gadgets should work now; haven't tested.
  680.  
  681.    SetMenuStrip() returns TRUE, which, it is hoped, solves beaucoup   
  682.    backwards compatibility problems with wrong-written programs (still
  683.    need to hear definitive word on what dpaint expects: haven't tested
  684.    dpaint.)
  685.  
  686.    WorkBenchToFront/Back() now return success as has been documented, 
  687.    but not implemented (probably always returned TRUE).
  688.  
  689.    Intuition 454 (+/-1)
  690.  
  691.    Old bug fixes: can use leftamiga-M,N for menu shortcuts.
  692.  
  693.    Fixes to alpha releases: RELVERIFY GADGHIMAGE gadgets work again.
  694.         title bar cleared with NULL fill pattern for sure now.
  695.         screen being opened while user drags windows will block until
  696.          user is done.
  697.         old Boing!s work nice again.
  698.         ActivateGadgets() and ActivateWindow() all tested and ready  
  699.          to use.
  700.  
  701.    ----
  702.    System Requester (in fact all autorequests) will cause the screen
  703.    on which they occur to be moved to the front.
  704.  
  705.    ----
  706.    Masked gadgets now implemented.  Use BOOLEXTEND flag in gadgets
  707.    flag, see structure BoolInfo in intuition.h.
  708.    example forthcoming.
  709.  
  710.    ----
  711.    Slight change to meaning of IDCMPFlags REQSET and REQCLEAR.  Manual
  712.    states that they are only sent when first/last of possibly several
  713.    requesters is started/ended.  This hasn't been exactly true, and   
  714.     the distinction to first/last is not critical since requesters 
  715. are
  716.    in layers. Now if you want to be in the ActivateGadget() business, 
  717.    it is important to know when a requester becomes active, so
  718.         * REQSET and REQCLEAR  messages will be sent WHENEVER a
  719. requester
  720.         * starts or ends (if you have these bits set in your
  721. IDCMPFlags,
  722.         * of course).
  723.  
  724.     Programs possibly affected will be very rare, if any:
  725.     if a program uses two requesters simultaneously, and the second 
  726. one
  727.     started is a Double-Menu Request (DMR) (or the first removed), 
  728. a
  729.     REQSET (or REQCLEAR) message will now be sent where there would 
  730. be
  731.    none in 1.1. 
  732.    Further, such a program would also need to be using REQSET and
  733.     REQCLEAR as an intimate part of its state machine for problems 
  734. to
  735.    arise.
  736.  
  737.    ----
  738.     Menu Verify (and Size and Request Verify) deadlock protection 
  739. is  
  740.    installed.
  741.    It is now safe to turn off MenuVerify using ModifyIDCMP(). 
  742.    You must do such a thing before, for example, calling              
  743.    AutoRequest(). 
  744.    Closing a window is now also safe: no need to turn off verify      
  745.    first.
  746.    Set/ClearMenuStrip() are also now safe.    ----
  747.    Functions LockIBase() and UnlockIBase() now functional, operate
  748.    as documented in intuitionbase.h.  More proper documentation has
  749.    been added as an autodoc (function header).
  750.  
  751.     Note that one passes a zero to LockIBase in D0.  It will return 
  752.    ULONG in D0.  Pass that value to UnlockIBase().  Sorry, but you    
  753.    must pass it to UnlockIBase() in A0, not D0.
  754.    
  755.    For those not wise to these gems, they access the                  
  756.    SignalSemaphore(s) intuition uses to arbitrate its data structures 
  757.    and state. 
  758.    If you use (by which I mean READ) the structure IntuitionBase
  759.    defined in intuitionbase.h/i and located at the address returned
  760.    by OpenLibrary("intuition.library",..) the values and linked lists 
  761.    that you find may not stay valid unless you protect yourself       
  762.    against the rest of Intuition.  Now, even though you had better    
  763.    READ ONLY, the Intuition locks are all write locks, so Intuition   
  764.    Will Freeze while you hold these locks.  So be quick, ladies and   
  765.    gents.
  766.  
  767.    The intent of allowing access to IntuitionBase at all is intended  
  768.     to provide knowledge of the ActiveWindow, front-to-back linked 
  769. list
  770.    of Screens, mouse position and little else.  More of IntuitionBase 
  771.    might be made public, for instructional purposes perhaps, but
  772.     creative and tricky use of internal data structures will prove 
  773. hard
  774.    to support.
  775.  
  776.    ----
  777.    MENUTOGGLE once again operational.  apologies for not being able
  778.    to find the bug which kept this out of 1.1.  (But it was weird.)
  779.    Set this flag in a CHECKIT menu item and it can be selected to 
  780.    turn the checkmark off.
  781.  
  782.    ----
  783.    punted on attempt to keep submenus from flashing when you
  784.    roll the mouse off of a subitem.  recommendation: don't leave
  785.    any space between your adjacent menu or submenu items.
  786.  
  787.    ----
  788.    POINTREL requesters really work, as documented in the Intuition    
  789.    manual.  They are constrained to coming up within the window       
  790.    interior, although programmers can get Requesters to come up       
  791.    overlapping some borders.  POINTREL only applies to Double-Menu    
  792.    requesters (DMR's).
  793.  
  794.    ----
  795.    Workbench interlace test of LaceWB preferences restricts to 
  796.    the LACEWB bit, cause one never knows when y'all run out
  797.    of bits, do one?
  798.  
  799.    ----
  800.    Borderless windows with system gadgets have their "title bars"
  801.    refreshed compatibly with 1.1.  (not when activated, but when
  802.    window layer is damaged.)  I think the state of this is            
  803.    questionable, but Boing!, for one, depends on the old algorithms.
  804.  
  805.    ----
  806.    intuition.h has added preferences: LaceWB was in, i guess, but
  807.    new printer file item now in.
  808.  
  809.    intuition.i and intuitionbase.i are now usable, thanks to Barry.
  810.  
  811.    Intuition 461/7
  812.  
  813.    InstallClipRegion() support added.  see layers release for         
  814.    details.
  815.    Might I add that InstallClipRegion() is the breakthrough we layer
  816.    fans have been waiting for.  (No need for GIMMEZEROZERO).
  817.  
  818.  
  819. Math
  820.  
  821.  
  822. mathffp:
  823.       Supports Ceil,Floor
  824.  
  825.  
  826. Serial/ParallelDevices
  827.  
  828.  
  829. newserial and parallel device
  830.  
  831. MARK/SPACEsupported by serial device.
  832.  
  833.  
  834. Trackdisk
  835.  
  836.  
  837. Thedocumentation for trackdisk driver is now on the disk
  838. seetrackdisk.doc
  839.  
  840. trackdisk:
  841.         actual step rate now down to 3.6msec. The specs for fine
  842. tuningthis
  843.         are in this directory. look at trackdisk.h
  844.         See tdu_StepDelay,tdu_SettleDelay.
  845.         These parameters are extremely hardware dependant!  This     
  846.          means that values that may work for a 68000 may not work 
  847. fora
  848.         68010 as well as a 68020 or a faster clock, etc. If you decide
  849.         the ^[ ^] keys do not generate correct ascii codes.
  850.  
  851. thatyou must play with this the be aware of the consequences.
  852.  
  853. trackdisk:
  854.         timing problem with 68020 and new external disk drives fixed.
  855.  
  856.  
  857. Workbench
  858.  
  859.  
  860. workbench/dosleft disk icons laying around when disk has been
  861. removedand there are no drawers open on it.  Now fixed.
  862.  
  863. clickingdisk icon when disk not in used to blow up.  Now fixed.
  864.  
  865. wb: fixed cross disk copy icon bug.
  866.  
  867. Workbenchdied a horrible death after being closed and then reopened
  868. (e.g.after Graphicraft, tutor, etc.).  Now fixed.
  869.  
  870. Workbench arranges to have it's autorequest messages be marked with 
  871. its
  872. name("Workbench") in the title bar.  This is harder than it sounds.
  873.  
  874.  
  875. Other
  876.  
  877.  
  878. Includedwith this document are copies of any changed graphics
  879. includefile plus sample program dotty.c These will also be provided
  880. ona separate disk. Dotty.c can be expanded to use 256 line display.
  881. Thereis a copy of the new trackdisk driver documentation.
  882.  
  883. layers.hclip.h semaphore.h include on disk
  884.  
  885.        some updated demos box/lines/dots. Try the lines it's pretty            
  886. snazzynow.
  887.   
  888. The new format command replaces both format and initialize, too bad
  889.    our dos does not support 'links'
  890. NOTE:that if you use initialize with the same parameters as you used
  891. Format, it will do something different. It puts a trashcan icon on 
  892. the
  893. diskinstead of leaving it blank. SO if you must have a blank
  894. initialized
  895. diskyou must use the NOICON option.
  896.  
  897.  
  898. Thefont editor will be available on the Software Toolkit disk.
  899. newclock, new mount, new preferences
  900.  
  901. moredisk
  902.    new directory 'docs'
  903.    contains latest of the autodoc's from the sources.
  904.    fed on the more disk.
  905.         new _main.c for lattice-c programs. It fixes old bugs
  906.         and now correctly supports quoted "" parameters.
  907.         prefs code
  908.         new lines (checks to make sure V33 is there)
  909.  
  910. auto-docs:
  911.    Because of the size of the auto-doc files, we have placed these
  912.    babies on another disk. Enjoy!
  913.  
  914. amiga.lib
  915.        bug fixed in fpa (motorola ffp to ascii). It used to tromp
  916. allover memory. There is a new one (native amiga only) on this disk.
  917.  
  918. strap:
  919.        finally recoded to NOT open Intuition.
  920.  
  921. miscellaneousfine tuning of:
  922. cia,timer.
  923. newprinter device
  924.         bug fix, now handles character >=160
  925.  
  926. new"ed" fixed bug when run in an interlaced workbench screen.
  927. newnotepad
  928. newsay command
  929. newinfo.library
  930.  
  931. newinfo.library to fix the add-tooltypes bug
  932. nochanges to say, just wanted to recompile to make sure exerything 
  933. Iuse was still there.new "ed" fixed bug when run in an interlaced
  934. workbenchscreen.
  935.    increased buffer again for PAL interlaced displays, boy you
  936.    guys just want everything!
  937. newinitialize/format
  938. Thisis the first V1.2 initialize.  It replaces both initialize and
  939. formatbecause it can also run from CLI.
  940.        It can initialize any type of disk - even partitions
  941.        If you have your SYS: disk in any drive it will use your       
  942.         trashcan image for the new trashcan.  Otherwise it defaults 
  943. to
  944.        the new trashcan image from WC.
  945.         For compatability with the format I've added a NOICON option 
  946. to
  947.        make completely blank disks.
  948.         The motor light stays on during the entire initialization 
  949. to  
  950.        prevent confusion.
  951.        CTRL-C stops initialize from the cli (more civilized then      
  952.     pulling the disk out)
  953.    This new command replaces both format and initialize, too bad
  954.    our dos does not support 'links'
  955. NOTE:that if you use initialize with the same parameters as you used
  956. Format, it will do something different. It puts a trashcan icon on 
  957. the
  958. diskinstead of leaving it blank. SO if you must have a blank
  959. initialized
  960. diskyou must use the NOICON option.amigaterm fixed, now can use new
  961. rawinputcode.
  962. touchedup fonts.There is a new fed, fixed a couple bugs.
  963. Dalelines- made prop gadgets easier to use.
  964. clip.h semaphore.h include on diskversion.library, use this to get 
  965. the
  966. currentworkbench version number.See the expansion directory in this
  967. directoryfor the changes
  968. tothe expansion software. There were some incompatible changes
  969. made.Many thanks for you continues patience while we try to
  970. getthis baby right.info.library
  971. ...fixedbug wherein info would not respond to info-request of a disk
  972. on which no Disk.info is present (as detailed in Bug Report B2604 
  973. dated
  974. 4/24/86). Also can now create a Disk.info if user selects
  975. SAVE.version.library,use this to get the current workbench version
  976. number.
  977.  
  978. Autodocs are now on the Readme disk.  They have been improved.  See 
  979. the readme file in the autodoc directory for more information.
  980.  
  981.